Control device for a wide speed range induction machine, carrying out a control based upon a flux estimation performed by means of a luenberger state observer, and method for positioning the eigenvalues of said state observer

ABSTRACT

The control device carries out a control of the induction machine based upon a flux estimation performed by means of a Luenberger state observer, the estimation error of which can be defined by means of a matrix having a plurality of eigenvalues, the magnitude of each of which is proportional to the magnitude of a respective pole of the induction machine, and the phase of each of which is rotated with respect to the phase of the corresponding pole of the induction machine by a given angle of rotation.

[0001] The present invention relates to a control device for a wide speed range induction machine, carrying out a control based upon a flux estimation performed by means of a Luenberger state observer.

[0002] The present invention moreover relates to a method for positioning the eigenvalues of a Luenberger state observer implemented in a control device for a wide speed range induction machine in order to perform an estimation of the flux of said induction machine.

BACKGROUND OF THE INVENTION

[0003] As is known, direct field-orientation control of induction machines calls for the knowledge of the components of the rotor flux of the induction machines themselves, which can either be measured directly using magnetic sensors or can be estimated on the basis of the values of the quantities present at the machine terminals.

[0004] In practical applications, however, recourse is almost exclusively had to the estimation of the rotor flux of the asynchronous machine, using an appropriate mathematical model, in so far as direct measurement presents numerous problems of a technical and economic nature.

[0005] One of the most interesting solutions for the estimation of the rotor flux of induction machines is represented by the known Luenberger state observer, which is based upon the dynamic equations of the induction machine itself and upon the measurement of speed in order to reconstruct the state of the induction machine in terms of stator current and rotor flux.

[0006]FIG. 1 shows, purely by way of non-limiting example, a general diagram of the circuit of the control of an induction machine 1, represented for reasons of simplicity by the symbol of a three-phase electric motor, said control being implemented on the basis of the flux estimation performed by means of a Luenberger state observer.

[0007] As is shown in FIG. 1, the control of the induction machine 1 envisages the use of a power driving device 2 which supplies to the induction machine 1 three control voltages, the so-called three phases of a three-phase system, and is controlled by a control device 4, typically implemented by means of a digital signal processor, commonly referred to as DSP.

[0008] In particular, the control device 4 carries out control of the induction machine 1 on the basis of the estimation of the rotor flux of the induction machine 1 performed by means of the aforesaid Luenberger state observer, and receives at input one or more reference signals, among which a reference speed signal indicating the desired speed of rotation of the induction machine 1, and a plurality of measurement signals indicating the values of quantities of the induction machine 1, among which the value of the effective speed of rotation of the induction machine 1 measured by means of a speed sensor (not shown) connected to the induction machine 1 and the values of two of the three phase currents absorbed by the induction machine 1 and measured by means of appropriate sensors (not shown) at the terminals of the induction machine 1.

[0009]FIG. 2 shows the block diagram of a part of the system with which the induction machine 1 and the Luenberger state observer used in the control device 4 are conventionally modelled from the control standpoint.

[0010] As shown in FIG. 2, the induction machine is schematically represented by a block 1 defined by a state vector x formed by the state variables of the induction machine 1, of which only one part is physically measured. The block 1 receives at input an input vector u representing input quantities supplied to the induction machine 1 (control voltages supplied by the power driving device) and generates at output a measured output vector y representing measured output quantities supplied to the induction machine 1 (absorbed currents), which, as is known, are selected from among the state variables contained in the state vector x.

[0011] As is known, then, the induction machine 1 is defined by the following variable-parameter linear differential state equations: $\begin{matrix} \left\{ \begin{matrix} {\overset{.}{x} = {{{A(\omega)}x} + {Bu}}} \\ {y = {Cx}} \end{matrix} \right. & (1) \end{matrix}$

[0012] where:

[0013] A is known in the literature by the name of matrix of the induction machine or matrix of free evolution;

[0014] B is known in the literature by the name of input matrix;

[0015] and

[0016] C is known in the literature by the name of output matrix, which enables generation of the measured output vector y starting from the state vector x, i.e., selection, from among all the state variables, of the output variables of the system.

[0017] The Luenberger state observer implemented by the control device 4 is instead schematically represented by a block 6 which receives at input the input vector u and supplies at output an estimated output vector {tilde over (y)} representing the output quantities estimated by the Luenberger state observer 6, and an estimated state vector {tilde over (x)} representing the state variables estimated by the Luenberger state observer 6.

[0018] The measured output vector y and the estimated output vector {tilde over (y)} are then supplied at input to a block 8 which performs the subtraction and generates at output an error vector e supplied at input to the block 10 to carry out feedback.

[0019] As is known, then, the measured output vector y, together with the aforementioned reference signals, is supplied at input to a regulator block (not shown), which generates the aforesaid input vector u for regulating the currents and flux of the induction machine 1, in order to obtain the references required.

[0020] The Luenberger state observer applied to the dynamic model of the induction machine expressed as a function of the rotor flux and of the stator current (this being the most convenient form in so far as one of the state variables coincides with the output itself of the system, and the structure of the algorithm is thus simplified), represented on the stationary αβ reference system, is described by the following variable-parameter linear differential state equations and in complex form (the variables marked with the tilde refer to the variables estimated by the Luenberger state observer): $\begin{matrix} \left\{ \begin{matrix} {\overset{\sim}{\overset{.}{x}} = {{{A(\omega)}\overset{\sim}{x}} + {Bu} - {K\left( {y - \overset{\sim}{y}} \right)}}} \\ {\overset{\sim}{y} = {C\quad \overset{\sim}{x}}} \end{matrix} \right. & (2) \\ {{A = \begin{bmatrix} {{- \frac{1}{\sigma}}\left( {\frac{R_{s}}{L_{s}} + \frac{\left( {1 - \sigma} \right)R_{r}}{L_{r}}} \right)} & {\frac{1 - \sigma}{\sigma \quad L_{m}}\left( {\frac{R_{r}}{L_{r}} - {j\quad \omega}} \right)} \\ {L_{m}\frac{R_{r}}{L_{r}}} & \left( {{- \frac{R_{r}}{L_{r}}} + {j\quad \omega}} \right) \end{bmatrix}}{B = {{\begin{bmatrix} \frac{1}{\sigma \quad L_{s}} \\ 0 \end{bmatrix}\quad C} = \left\lbrack {1\quad 0} \right\rbrack}}} & (3) \\ {\overset{\sim}{x} = {\begin{bmatrix} {\overset{\sim}{i}}_{s} \\ {\overset{\sim}{\lambda}}_{r} \end{bmatrix} = {\begin{bmatrix} {{\overset{\sim}{i}}_{s\quad \alpha} + {j\quad {\overset{\sim}{i}}_{s\quad \beta}}} \\ {{\overset{\sim}{\lambda}}_{ra} + {j\quad {\overset{\sim}{\lambda}}_{r\quad \beta}}} \end{bmatrix}\quad \begin{matrix} {u = {v_{s} = {v_{s\quad \alpha} + {j\quad v_{s\quad \beta}}}}} \\ {y = {i_{s} = {i_{s\quad \alpha} + {ji}_{s\quad \beta}}}} \end{matrix}}}} & (4) \\ {K = {\begin{bmatrix} {k_{11} + {jk}_{12}} \\ {k_{21} + {jk}_{22}} \end{bmatrix} = \begin{bmatrix} k_{1} \\ k_{2} \end{bmatrix}}} & (5) \end{matrix}$

[0021] where:

[0022] A, B and C have the meanings specified previously;

[0023] K is the feedback matrix of the Luenberger state observer;

[0024] R_(s) is the stator resistance of the induction machine;

[0025] R_(r) is the rotor resistance of the induction machine;

[0026] L_(m) is the magnetization inductance of the induction machine;

[0027] L_(s) is the stator inductance of the induction machine;

[0028] L_(r) is the rotor inductance of the induction machine;

[0029] σ is the coefficient of dispersion of the induction machine defined as follows: $\sigma = {1 - \frac{L_{m}^{2}}{L_{s}L_{r}}}$

[0030] ω is the equivalent mechanical speed of rotation of the induction machine, corresponding to the mechanical speed of rotation multiplied by the pole torques;

[0031] i_(sαβ) are the components of the stator current in the stationary αβ reference system;

[0032] λ_(r αβ) are the components of the rotor flux in the stationary αβ reference system; and

[0033] ν_(s αβ)are the components of the stator voltage in the stationary a, 8 reference system.

[0034] Note that in equations (2) and (3) there appear the matrices A, B and C of the induction machine in so far as it is assumed that the parameters of the induction machine are known, and hence, in particular, that the matrix of the Luenberger state observer coincides with the matrix A of the induction machine.

[0035] To simplify the notation we put: $\begin{matrix} {{A = {\begin{bmatrix} a_{1} & {- {\beta \left( {a_{2} + {j\quad \omega}} \right)}} \\ a_{3} & \left( {a_{2} + {j\quad \omega}} \right) \end{bmatrix} = \begin{bmatrix} a_{1} & {{- \beta}\quad w} \\ a_{3} & w \end{bmatrix}}}\quad {B = \begin{bmatrix} b_{1} \\ 0 \end{bmatrix}}} & (6) \end{matrix}$

[0036] the coefficients introduced having been defined as follows: $\begin{matrix} {{a_{1} = {{{- \frac{1}{\sigma}}\left( {\frac{1}{T_{s}} + \frac{1 - \sigma}{T_{r}}} \right)\quad a_{2}} = {{{- \frac{1}{T_{r}}}\quad a_{3}} = {- \frac{L_{m}}{T_{r}}}}}}{\beta = {{\frac{1 - \sigma}{\sigma \quad L_{m}}\quad w} = {a_{2} + {j\quad \omega}}}}} & (7) \end{matrix}$

[0037] Positioning of the eigenvalues of the Luenberger state observer, which are commonly referred to in the control field also by the term ‘poles’ (this term, however, is not altogether correct in so far as the system is time variant) is via the aforesaid feedback matrix K which multiplies the error vector given by the difference between the output vector measured and the output vector estimated by the Luenberger state observer.

[0038] In particular, typically each of the eigenvalues of the continuous-time Luenberger state observer is rendered proportional to a corresponding pole of the induction machine via the technique proposed in:

[0039] “New Adaptive Flux Observer of Induction Motor for Wide Speed of rotation Range Motor Drives”, Kubota, H., Matsuse, K., Nakano, T., Industrial Electronics Society, 1990. IECON '90., 16th Annual Conference of IEEE, 1990, pp. 921-926 Vol. 2;

[0040] and in

[0041] “DSP-based Speed Adaptive Flux Observer of Induction Motor”, Kubota, H., Matsuse, K., Nakano, T., Industry Applications, IEEE Transactions, Vol. 29, 2 March-April 1993 pp. 344-348.

[0042] This technique enables real-time updating of the coefficients of the feedback matrix K with simple algebraic operations.

[0043] In detail, the aforesaid technique envisages that, in the conventional representation of the poles and eigenvalues in magnitude and phase, the magnitudes of the eigenvalues of the continuous-time Luenberger state observer are rendered proportional to the magnitudes of the corresponding poles of the induction machine, and that the phases of the eigenvalues of the continuous-time Luenberger state observer remain unvaried with respect to those of the corresponding poles of the induction machine, i.e., in other words, they are exactly equal to the phases of the corresponding poles of the induction machine.

[0044] If, instead, the conventional partly real and partly imaginary representation is considered, the aforesaid technique envisages that the real parts and the imaginary parts of the eigenvalues of the continuous-time Luenberger state observer are rendered proportional to the real parts and, respectively, to the imaginary parts of the corresponding poles of the induction machine.

[0045] According to said technique, moreover, with the assumption made above, the matrix A, known in the literature by the name of matrix of the estimation error of the Luenberger state observer (often, for reasons of simplicity, also referred to, albeit somewhat improperly, as matrix of the Luenberger state observer), is: $\begin{matrix} {A_{o} = {{A - {KC}} = {{\begin{bmatrix} a_{1} & {{- \beta}\quad w} \\ a_{3} & w \end{bmatrix} - {\begin{bmatrix} k_{1} \\ k_{2} \end{bmatrix}\quad\left\lbrack {1\quad 0} \right\rbrack}} = \begin{bmatrix} \left( {a_{1} - k_{1}} \right) & {{- \beta}\quad w} \\ \left( {a_{3} - k_{2}} \right) & w \end{bmatrix}}}} & (8) \end{matrix}$

[0046] whence the terms of the so-called characteristic polynomial of the Luenberger state observer may be immediately obtained as follows: $\begin{matrix} \left\{ \begin{matrix} {{p_{1o} + p_{2o}} = {a_{1} - k_{1} + {j\quad w}}} \\ {{p_{1o}p_{2o}} = {w\left\lbrack {\left( {a_{1} - k_{1}} \right) + {\beta \quad \left( {a_{3} - k_{2}} \right)}} \right\rbrack}} \end{matrix} \right. & (10) \end{matrix}$

[0047] and hence the analytical expression of the feedback matrix K, which makes it possible to render the eigenvalues of the matrix A_(o), often referred to, for reasons of simplicity, by the term eigenvalues of the Luenberger state observer, proportional to the poles of the induction machine, as a function of the machine parameters and of the speed: $\begin{matrix} \left\{ {{\begin{matrix} {k_{11} = {\left( {1 - \alpha} \right)\quad \left( {a_{1} + a_{2}} \right)}} \\ {k_{12} = {\left( {1 - \alpha} \right)\omega}} \\ {k_{21} = {{\left( {1 - \alpha^{2}} \right)\left( {\alpha_{3} + {\gamma \quad a_{1}}} \right)} - {\gamma \quad k_{11}}}} \\ {k_{22} = {{- \gamma}\quad k_{12}}} \end{matrix}\quad \gamma} = {\frac{1}{\beta} = \frac{\sigma \quad L_{m}}{1 - \sigma}}} \right. & (11) \end{matrix}$

[0048] The coefficient a in equation (11) expresses the factor of proportionality between the eigenvalues of the Luenberger state observer and the poles of the induction machine and makes it possible to position the eigenvalues of the Luenberger state observer with one degree of freedom.

[0049]FIG. 3 shows the trajectories of the poles of the induction machine and of the eigenvalues of the Luenberger state observer on the plane of the Laplace variable s as a function of the speed of rotation of the induction machine, for a value of α equal to 2.

[0050] It may be noted that for each value of the speed of rotation the eigenvalues of the Luenberger state observer are displaced along radial directions, and the entire trajectory or path is amplified by a scale factor, modifying the natural frequency of the eigenvalues but not their damping.

[0051] The values given in the graph of FIG. 3 refer to a three-phase electric motor characterized by the following parameters: R_(s) 0.0445 W Rated voltage 104 V R_(r) 0.0470 W Rated current 55 V L_(m) 3.9 mH Rated speed 3000 r.p.m. L_(s) 4.1 mH Rated frequency 100 Hz L_(r) 4.1 mH Number of poles 4 σ 0.088 Rated power 7.5 kW

[0052] Discrete-time implementation of the Luenberger state observer on digital signal processors requires the calculation of the exponential matrix of a variable-parameter fourth-order system, which cannot be performed in real time in an exact way.

[0053] Generally, on-line updating of the model of the Luenberger state observer is preferred, using approximate formulas of the exponential matrix which are obtained by truncating the Taylor series at the first or second term.

[0054] The algorithms that use the first term of the Taylor series require a minimal computational effort but prove unstable typically beyond 4000 r.p.m. In addition, the approximations introduced in the implementation of the Luenberger state observer in digital form condition the precision achievable in the estimation of the state variables; consequently, in order to enable stable and proper operation over a wide range of speeds it is necessary to use second-order models, the implementation of which, however, entails a computational effort which is approximately four times greater.

[0055] Other solutions proposed envisage, instead, an interpolation between various discrete-time models calculated for certain speed values and stored in a memory table, but these techniques involve a computational effort approximately twice as great, which limits the sampling frequency and the maximum speed of operation of the induction machine.

[0056] Various other techniques for positioning the eigenvalues of the Luenberger state observer, different from the one described above in which the eigenvalues of the continuous-time Luenberger state observer are rendered proportional to those of the induction machine, have then been proposed to extend the range of stability of the Luenberger state observer. All these techniques, however, give rise to feedback matrices K that in general have somewhat complex analytical formulations and comprise operations of raising to a power, operations of division, trigonometric relations, etc., the execution of which always requires a considerable computational effort.

SUMMARY OF THE INVENTION

[0057] The aim of the present invention is therefore to provide a method for positioning the eigenvalues of the Luenberger state observer and to implement a control device for an induction machine that carries out a control based upon the flux estimation performed by means of the Luenberger state observer, said method and said control device making it possible to extend the range of stability of the Luenberger state observer considerably, using just the first-order approximation of the Taylor series of the exponential matrix, so involving minimal computational effort and thus enabling implementation thereof on processors having contained performance and cost.

[0058] According to the present invention there is provided a control device for a wide speed range induction machine, carrying out a control based upon a flux estimation performed by means of a Luenberger state observer, as defined in claim 1.

[0059] Moreover, according to the present invention there is provided a method for positioning the eigenvalues of a Luenberger state observer implemented in a control device for a wide speed range induction machine to perform an estimation of the flux of said induction machine, as defined in claim 7.

BRIEF DESCRIPTION OF THE DRAWINGS

[0060] For a better understanding of the present invention a preferred embodiment thereof is now described, purely by way of non-limiting example and with reference to the attached drawings, in which:

[0061]FIG. 1 shows a general circuit diagram used for the control of an induction machine;

[0062]FIG. 2 shows the block diagram of the system with which the induction machine and the corresponding Luenberger state observer are conventionally modelled from the control standpoint;

[0063]FIG. 3 shows the trajectories of the poles of the induction machine and of the eigenvalues of the Luenberger state observer on the plane of the Laplace variable s as a function of speed, calculated for a factor of proportionality of the eigenvalues equal to 2, according to the conventional technique;

[0064]FIG. 4 shows the technique for positioning the eigenvalues of the Luenberger state observer according to the present invention;

[0065]FIG. 5 shows the trajectories of the eigenvalues of the Luenberger state observer according to the present invention on the plane of the Laplace variable s as a function of speed;

[0066]FIG. 6 shows the free responses associated to the eigenvalues of greater magnitude of the Luenberger state observer according to the present invention, at the rated speed;

[0067]FIG. 7 shows the trajectories of the eigenvalues, in the plane of the complex variable z, of the discrete Luenberger state observer according to the traditional technique, obtained with the first-order approximation of the Taylor series;

[0068]FIG. 8 shows the locus of the roots of the Luenberger state observer in the plane of the complex variable z, calculated for a factor of proportionality of the magnitudes of the eigenvalues equal to 2 and plotted for various values of the angle of rotation and in a range of speed of rotation of the induction machine of between 0 and 6000 r.p.m.;

[0069]FIG. 9 shows the locus of the roots of the Luenberger state observer in the plane of the complex variable z, calculated for a factor of proportionality of the magnitudes of the eigenvalues equal to 2 and an angle of rotation of 30 degrees, in a range of speed of rotation of the induction machine of between 0 and 12000 r.p.m.; and

[0070]FIGS. 10 and 11 show the results of a numeric simulation in which the Luenberger state observer was set in parallel with the motor, which was controlled using the exact information of the angle of rotor flux.

DETAILED DESCRIPTION OF THE INVENTION

[0071] The present invention is based upon the principle of generalizing the technique of purely proportional positioning of the eigenvalues of the Luenberger state observer described previously, in which, as has been said, the eigenvalues of the continuous-time Luenberger state observer are rendered proportional, both in the real part and in the imaginary part, and consequently in the magnitudes, to the corresponding poles of the induction machine.

[0072] In particular, the present invention is based upon the principle of imposing the condition that the eigenvalues of the Luenberger state observer, designated by P_(o), are proportional to those of the induction machine, designated by p, via a complex coefficient g defined in magnitude and phase as follows:

p _(o) =gp   (12)

g=œ ^(j)

=α(cos

+jsin

)=(g _(r) +jg ₁)   (13)

[0073] As compared to the purely proportional positioning according to the prior art described previously, relation (13) also determines a rotation of the eigenvalues on the complex plane; that is, in other words, it does not only cause the magnitudes of the eigenvalues of the Luenberger state observer to be proportional to the magnitudes of the corresponding poles of the induction machine, but also the phases of the eigenvalues of the Luenberger state observer to be rotated by an angle

with respect to those of the corresponding poles of the induction machine, as shown in FIG. 4.

[0074] Furthermore, conveniently the angle of rotation

of the phases of the eigenvalues of the Luenberger state observer with respect to the phases of the corresponding poles of the induction machine is less than or equal to 450°.

[0075] With the assumptions made above, substituting the transformation (12) and (13) into equation (9) we obtain the relation between the coefficients of the polynomial of the Luenberger state observer and the coefficients of the system

P _(o)(s)=s ²−œ^(j)

(p ₁ +p ₂)s+α ² e ² ^(_(j))

(p ₁ +p ₂)   (14)

[0076] To calculate the expression of the feedback matrix K, the coefficients of the polynomial (14) and of the polynomial (10) are equated term by term, and the following expressions are thus obtained: $\begin{matrix} \left\{ \begin{matrix} {k_{1} = {\left( {1 - {\alpha }^{j\vartheta}} \right)\quad \left( {a_{1} + {j\quad w}} \right)}} \\ {k_{2} = {{\left( {1 - {\alpha^{2}^{{j2}\quad \vartheta}}} \right)\left( {a_{3} + {\gamma \quad a_{1}}} \right)} - {\gamma \quad k_{1}}}} \end{matrix} \right. & (15) \end{matrix}$

[0077] The expressions (15) contain the synthesis equations of the feedback matrix K for rotation of the eigenvalues. Dismembering the real part from the imaginary part we obtain the following calculation expressions for the individual coefficients k_(ij): $\begin{matrix} \left\{ \begin{matrix} {k_{11} = {{\left( {1 - g_{r}} \right)\left( {a_{1} + a_{2}} \right)} + {g_{i}\omega}}} \\ {k_{12} = {{\left( {1 - g_{r}} \right)\omega} - {g_{i}\left( {a_{1} + a_{2}} \right)}}} \\ {k_{21} = {{\left( {1 - g_{r}^{2} + g_{i}^{2}} \right)\quad \left( {a_{3} + {\gamma \quad a_{1}}} \right)} - {\gamma \quad k_{11}}}} \\ {k_{22} = {{{- \gamma}\quad k_{12}} + {2g_{r}{g_{i}\left( {a_{3} + {\gamma \quad a_{1}}} \right)}}}} \end{matrix} \right. & (16) \end{matrix}$

[0078] Via the gains g_(r) and g_(l) it is possible to position the eigenvalues with two degrees of freedom. Note that for g_(i)=0 the expressions (16) reduce to the expressions (11), which correspond to the purely proportional correction, i.e., without phase rotation.

[0079] For a comparison with the technique of purely proportional positioning described previously, FIG. 5 shows the trajectories of the eigenvalues for a factor α of 2 and an angle X of 30°, in which the scales are identical for the two axes.

[0080] As may be noted, the complete locus of the roots is obtained by reflection of the trajectory defined on the positive half-plane of the imaginary axis. In fact, the conjugated eigenvalues automatically undergo an inverse rotation with respect to what is defined in expression (13); namely:

p _(o)=œ^(j)

p

( p _(o))*=(œ^(j)

p)*=œ^(−j)

(p)*   (17)

[0081] In order to obtain symmetry of operation, it is, however, necessary to change the sign of the coefficient g₁ in the case of negative speeds.

[0082] The technique according to the present invention enables deformation of the trajectories of the eigenvalues of the Luenberger state observer by acting separately on the natural frequency and on damping. The natural frequency is, in fact, determined solely by the scale factor a, and damping by the angle of rotation

.

[0083]FIG. 6 shows the free responses associated to the eigenvalues of the Luenberger state observer of greater magnitude at the rated speed and with a factor of proportionality α of 2, in the traditional case of purely proportional positioning and according to the present invention with rotation of the eigenvalues.

[0084] It may be noted that the technique according to present invention makes it possible to render the dynamic response of the Luenberger state observer more damped.

[0085] As regards, instead, the stability of the discrete-time Luenberger state observer, the discrete representation of the Luenberger state observer consists of a system of linear difference equations, in which at each cycle the estimation is made on the basis of the information of the previous step; namely: $\begin{matrix} \left\{ \begin{matrix} {{\overset{\sim}{x}}_{{k + 1}|k} = {{A_{d}{\overset{\sim}{x}}_{k|{k - 1}}} + {B_{d}u_{k}} + {K_{d}\left( {y_{k} - {\overset{\sim}{y}}_{k|{k - 1}}} \right)}}} \\ {{\overset{\sim}{y}}_{k|{k - 1}} = {C{\overset{\sim}{x}}_{k|{k - 1}}}} \end{matrix} \right. & (18) \end{matrix}$

[0086] where A_(d), B_(d) and K_(d) designate the matrices of the discrete-time model that are obtained starting from the matrices A, B and K already defined for the continuous-time model.

[0087] The discrete-time algorithm of the system is obtained using the backward Euler technique, which is equivalent to approximating the matrix exponential with the first term of the Taylor series; namely: $\begin{matrix} {A_{d} = {^{{AT}_{c}} = \left. {I + {A\quad T_{c}} + {\frac{1}{2}A^{2}T_{c}^{2}} + \ldots}\Rightarrow\left\{ \begin{matrix} {A_{d} = {I + {A\quad T_{\quad c}}}} \\ {B_{d} = {B\quad T_{c}}} \\ {K_{d} = {K\quad T_{c}}} \end{matrix} \right. \right.}} & (19) \end{matrix}$

[0088] In these conditions, the model of the Luenberger state observer is expressed by the following system of equations: $\begin{matrix} \left\{ \begin{matrix} {{\overset{\sim}{x}}_{{k + 1}|k} = {{\left( {I + {A\quad T_{c}}} \right){\overset{\sim}{x}}_{k|{k - 1}}} + {B\quad T_{c}u_{k}} + {K\quad {T_{c}\left( {y_{k} - {\overset{\sim}{y}}_{k|{k - 1}}} \right)}}}} \\ {{\overset{\sim}{y}}_{k|{k - 1}} = {C{\overset{\sim}{x}}_{k|{k - 1}}}} \end{matrix} \right. & (20) \end{matrix}$

[0089] In the case considered by way of example, the locus of the roots of the discrete system obtained with first-order approximation is given in FIG. 7, for a sampling time T_(c) of 200 μs.

[0090] As the speed of rotation increases, the trajectory is seen to depart considerably from the exact trajectory, and the eigenvalues approach the unit circle. The limit value of rotor speed corresponding to the point G, which is the limit of the area of stability, can be calculated with a fair degree of approximation from the equation: $\begin{matrix} {\omega_{\lim} \approx {\frac{1}{T_{c}}\sqrt{1 - \left\lbrack {1 + {\frac{T_{c}}{2}\left( {a_{1} + a_{2}} \right)}} \right\rbrack^{2}}} \approx {5300\quad {r.p.m.}}} & (21) \end{matrix}$

[0091] The eigenvalues of the Luenberger state observer are displaced along the directions r and r′; consequently, for values of a greater than unity, instability is reached in the point Go, for speeds always lower than what was calculated in the point G. The theoretical limit speed as a function of the gain a is calculated with the following formula: $\begin{matrix} {\omega_{ohm} \approx {\frac{1}{\alpha \quad T_{c}}\sqrt{1 - \left\lbrack {1 + {\frac{\alpha \quad T_{c}}{2}\left( {a_{1} + a_{2}} \right)}} \right\rbrack^{2}}}} & (22) \end{matrix}$

[0092] For example, if a factor of proportionality of the eigenvalues of 2 is chosen, the limit speed is

ω_(olim)(α=2)≈3700 r.p.m.   (23)

[0093] The value thus calculated is optimistic, in the sense that the maximum speed of rotation allowable must necessarily be lower in order to guarantee a certain margin of stability. The range of operation of the Luenberger state observer is hence found to be markedly limited.

[0094] The technique proposed for positioning the eigenvalues makes it possible to extend the range of stability considerably, without this entailing any additional computational cost.

[0095]FIG. 8 gives on the plane of the complex variable z the locus of the roots of the Luenberger state observer, calculated for a factor of proportionality of the magnitudes of the eigenvalues equal to 2. The trajectories of the eigenvalues have been plotted for different values of the angle of rotation in a range of speed of rotation between 0 and 6000 r.p.m., i.e., twice the rated value of the motor.

[0096] It may be noted that an angle of rotation of 15 degrees is sufficient to guarantee stability over the entire range, obtaining at the maximum speed a damping of approximately 0.2. In the case of purely proportional positioning, the speed limit is instead close to 3700 r.p.m.

[0097]FIG. 9 shows the locus of the roots of the Luenberger state observer over a range of between 0 and 12000 r.p.m.. The plots of the trajectories of the eigenvalues show that, with the proposed positioning of the eigenvalues, it is possible to extend by a factor of three the range of stability of the Luenberger state observer based upon first-order approximation, as compared to the conventional technique.

[0098] Finally, FIGS. 10 and 11 present the results obtained from a numerical simulation using MATLAB SIMULINK, in which the Luenberger state observer was set in parallel with the motor, which was controlled using the exact information of the rotor-flux angle.

[0099] The estimation algorithm was based upon the first-order discrete model with 200-μs sampling time, implemented by means of a MATLAB S-FUNCTION written in C language with floating-point variables and machine precision. The system for controlling the current was obtained with two digital controllers of the integral-proportional type. The inverter and the current and voltage measurements were considered altogether ideal.

[0100] The system was implemented on a DSP Texas Instrument TMS320F240 processor with fixed point and 20-MHz clock frequency. The total time required for execution by the Luenberger state observer, including the updating of the coefficients of the feedback matrix, was less than 30 μs.

[0101] At the speed of 6000 r.p.m. it may be noted that the flux estimated (step-like pattern) is close to the actual one (continuous pattern), both as regards the magnitude and as regards the phase. The small errors found in the magnitude in steady-state conditions may be put down mainly to the model approximations introduced by the discretization with truncation at the first term of the Taylor series, and these errors cannot be eliminated.

[0102] At the speed of 12000 r.p.m. the error in the magnitude is slightly greater than in the case at 6000 r.p.m., but the angle is still estimated with sufficient precision.

[0103] It may therefore be concluded that the technique proposed for positioning the eigenvalues of the Luenberger state observer makes it possible to extend the range of stability of the discrete-time algorithm by a factor of three as compared to the conventional method, until a speed of 12000 r.p.m. is reached, substantially contributing also to an improvement in the damping of the dynamic response.

[0104] The computational requirements are minimal, in so far as repeated updatings of the state equations, readings in memory tables, and complex algebraic operations are not required; consequently, it is possible to achieve high sampling frequencies even using low-cost processors. 

1. A control device (4) for a wide speed range induction machine (1), carrying out a control based upon a flux estimation performed by means of a Luenberger state observer (6), said induction machine (1) having a plurality of poles (p), and said Luenberger state observer (6) having an estimation error definable by means of a matrix (A_(o)) having a plurality of eigenvalues (p_(o)), the magnitude of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) being correlated to the magnitude of a corresponding pole (p) of said induction machine (1); characterized in that the phase of each of the eigenvalues (p_(o)) of said estimation-error matrix (A₀) is modified with respect to the phase of the corresponding pole (p) of said induction machine (1) according to a pre-set relation.
 2. The control device according to claim 1, characterized in that the phase of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) is rotated with respect to the phase of the corresponding pole (p) of said induction machine (1) by a given angle of rotation (

).
 3. The control device according to claim 2, characterized in that said angle of rotation (

) is less than or equal to 450°.
 4. The control device according to claim 1, characterized in that the magnitude of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) is proportional to the magnitude of the corresponding pole (p) of said induction machine (1).
 5. The control device according to claim 1, characterized in that the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) are correlated to the poles (p_(o)) of said induction machine (1) according to the following relation: p _(o) =g·p g=αe ^(j)

where: p are the poles of said induction machine; p_(o) are the eigenvalues of said estimation-error matrix (A_(o)); g is a complex coefficient of proportionality between the poles (p) of the induction machine (1) and the corresponding eigenvalues (p_(o)) of the estimation-error matrix (A_(o)); α is the magnitude of the complex coefficient of proportionality (g) and represents the factor of proportionality between the magnitudes of the poles (p) of the induction machine (1) and the magnitudes of the corresponding eigenvalues (p_(o)) of the estimation-error matrix (A_(o)); and

is the phase of the complex coefficient of proportionality and represents the angle of rotation by which the phases of the eigenvalues (p_(o)) of the estimation-error matrix (A_(o)) are rotated with respect to the phases of the corresponding poles (p) of the induction machine (1).
 6. The control device according to claim 5, characterized in that said estimation-error matrix (A_(o)) is a function of a feedback matrix (K), the elements of which are defined by the following relations: $\left\{ {{\begin{matrix} {k_{11} = {{\left( {1 - g_{r}} \right)\left( {a_{1} + a_{2}} \right)} + {g_{1}\omega}}} \\ {k_{12} = {{\left( {1 - g_{r}} \right)\omega} - {g_{1}\left( {a_{1} + a_{2}} \right)}}} \\ {k_{21} = {{\left( {1 - {g_{r}}^{2} + {g_{1}}^{2}} \right)\left( {a_{3} + {\gamma \quad a_{1}}} \right)} - {\gamma \quad k_{11}}}} \\ {k_{22} = {{{- \gamma}\quad k_{12}} + {2g_{r}{g_{1}\left( {a_{3} + {\gamma \quad a_{1}}} \right)}}}} \end{matrix}\quad \gamma} = {\frac{1}{\beta} = \frac{\sigma \quad L_{m}}{1 - \sigma}}} \right.$

where: k_(ij) are the elements of the feedback matrix (K); ω is the speed of rotation of said induction machine (1); α₁ are elements of a matrix (A) of said induction machine; L_(m) is the magnetization inductance of said induction machine (1); and σ is the coefficient of dispersion of said induction machine (1).
 7. A method for positioning the eigenvalues (p_(o)) of a Luenberger state observer (6) implemented in a control device (4) for a wide speed range induction machine (1) to perform an estimation of the flux of said induction machine (1), said induction machine (1) having a plurality of poles (p), and the estimation error of said Luenberger state observer (6) being definable by means of a matrix (A_(o)) having a plurality of eigenvalues (P_(o)), said method comprising the step of correlating the magnitude of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) to the magnitude of a method being characterized in that it further comprises the step of modifying the phase of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) with respect to the phase of the corresponding pole (p) of said induction machine (1) according to a pre-set relation.
 8. The method for positioning eigenvalues according to claim 7, characterized in that the phase of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) is rotated with respect to the phase of the corresponding pole (p) of said induction machine by a given angle of rotation (

).
 9. The method for positioning eigenvalues according to claim 8, characterized in that said angle of rotation (

) is less than or equal to 45°.
 10. The method for positioning eigenvalues according to claim 7, characterized in that the magnitude of each of the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) is proportional to the magnitude of the corresponding pole (p) of said induction machine (1).
 11. The method for positioning eigenvalues according to claim 7, characterized in that the eigenvalues (p_(o)) of said estimation-error matrix (A_(o)) are correlated to the poles (p) of said induction machine (1) according to the following relation: p _(o) =g·p g=α·e ^(j)

where: p are the poles of said induction machine; p_(o) are the eigenvalues of said estimation-error matrix (A_(o)); g is a complex coefficient of proportionality between the poles (p) of the induction machine (1) and the corresponding eigenvalues (p_(o)) of the estimation-error matrix (A_(o)); α is the magnitude of the complex coefficient of proportionality (g) and represents the factor of proportionality between the magnitudes of the poles (p) of the induction machine (1) and the magnitudes of the corresponding eigenvalues (p_(o)) of the estimation-error matrix (A_(o)); and

is the phase of the complex coefficient of proportionality (g) and represents the angle of rotation by which the phases of the eigenvalues (p_(o)) of the estimation-error matrix (A_(o)) are rotated with respect to the phases of the corresponding poles (p) of the induction machine (1).
 12. The method for positioning eigenvalues according to claim 11, characterized in that said estimation-error matrix (A_(o)) is a function of a feedback matrix (K) the elements of which are defined by the following relations: $\left\{ {{\begin{matrix} {k_{11} = {{\left( {1 - g_{r}} \right)\left( {a_{1} + a_{2}} \right)} + {g_{1}\omega}}} \\ {k_{12} = {{\left( {1 - g_{r}} \right)\omega} - {g_{1}\left( {a_{1} + a_{2}} \right)}}} \\ {k_{21} = {{\left( {1 - {g_{r}}^{2} + {g_{1}}^{2}} \right)\left( {a_{3} + {\gamma \quad a_{1}}} \right)} - {\gamma \quad k_{11}}}} \\ {k_{22} = {{{- \gamma}\quad k_{12}} + {2g_{r}{g_{1}\left( {a_{3} + {\gamma \quad a_{1}}} \right)}}}} \end{matrix}\quad \gamma} = {\frac{1}{\beta} = \frac{\sigma \quad L_{m}}{1 - \sigma}}} \right.$

where: k_(ij) are the elements of the feedback matrix (K); ω is the speed of rotation of said induction machine (1); α₁ are elements of a matrix (A) of the induction machine; L_(m) is the magnetization inductance of said induction machine (1); and σ is the coefficient of dispersion of said induction machine (1). 